package com.wut.clock.service;

import com.wut.clock.entity.Notification;

import java.util.List;

/**
 * @author ZYH
 * @unit D9Lab
 * @description 系统通知接口
 * @date 2022/5/31 20:56
 */
public interface INotificationService {
    /**
     * 添加一个系统通知
     * @param notification 系统通知实体
     * @return >0成功
     */
    int addNotification(Notification notification);

    /**
     * 删除一个系统通知
     * @param notificationId 系统通知id
     * @return >0成功
     */
    int deleteNotification(Integer notificationId);

    /**
     * 更新系统通知
     * @param notification 系统通知实体
     * @return >0成功
     */
    int updateNotification(Notification notification);

    /**
     * 发布系统通知
     * @param notificationId 系统通知id
     * @return >0成功
     */
    int releaseNotification(Integer notificationId);

    /**
     * 查看系统通知列表
     * @param pageNum 页码
     * @param pageSize 尺寸
     * @param targetType 对象类型 0-全体用户 1-部分用户
     * @param content 通知内容
     * @param status 发布状态
     * @return 系统通知列表
     */
    List<Notification> getNotificationList(Integer pageNum, Integer pageSize, Integer targetType, String content, Integer status);

    /**
     * 查看系统通知列表详情
     * @param notificationId 系统通知id
     * @return 系统通知
     */
    Notification getNotificationDetail(Integer notificationId);
}
